API Gateway でプライベート API にブラウザからアクセスするにはどうすればよいですか?
困っていた内容
エンドポイントタイプが Private の API を作成しました。
このプライベート API に、ブラウザからアクセスできるでしょうか? 試しに下記プライベート API の URL をブラウザのアドレスバーに入力してみましたが、アクセスできませんでした。
https://xxxxxx.execute-api.ap-northeast-1.amazonaws.com/api_path/
このAPIにブラウザからアクセスするにはどうすればよいですか?
どう対応すればいいの?
プライベート API では VPC 上の VPC エンドポイント にアクセスすることで、API にアクセス可能です。[1]
ローカルネットワーク上のローカル PC からアクセスしたい場合、 ローカルネットワークが当該の VPC と疎通できるように、ネットワーク構成が行われていれば、アクセス可能となります。( Direct Connect や VPN を利用した構成となります)
ローカルネットワークと当該 VPC との疎通が無い場合、例えば次のような方法で、アクセス可能となりますので、お試しください。
- VPC 上に Linux ベースの EC2 を起動し、[2] のような方法でポートフォワーディングを行うことで、API にアクセスする。
- VPC 上に Windows ベースの EC2 を起動し、その EC2 上で動作するブラウザから、API にアクセスする。
実際の手順につきましては、利用されるネットワーク構成に依存しますので、ネットワーク管理者の方にお問い合わせください。
参考資料
[1] Amazon API Gateway でのプライベート API の作成 - Amazon API Gateway
Amazon API Gateway を使用すると、インターフェイス VPC エンドポイントを使用して、Amazon VPC の仮想プライベートクラウドからのみアクセスできるプライベート REST API を作成できます。
[2] SSM Session Managerを使ってポートフォワードする | DevelopersIO
[3] Amazon API Gateway プライベート API の「プライベート」を誤解してると、とても危ないという話。 | DevelopersIO